#!/bin/sh
workspaces() {

    ws1="1"
    ws2="2"
    ws3="3"
    ws4="4"
    ws5="5"
    ws6="6"

    # Unoccupied
    un="0"

    # check if Occupied
    o1=$(bspc query -D -d .occupied --names | grep "$ws1" )
    o2=$(bspc query -D -d .occupied --names | grep "$ws2" )
    o3=$(bspc query -D -d .occupied --names | grep "$ws3" )
    o4=$(bspc query -D -d .occupied --names | grep "$ws4" )
    o5=$(bspc query -D -d .occupied --names | grep "$ws5" )
    o6=$(bspc query -D -d .occupied --names | grep "$ws6" )

    # check if Focused
    f1=$(bspc query -D -d focused --names | grep "$ws1" )
    f2=$(bspc query -D -d focused --names | grep "$ws2" )
    f3=$(bspc query -D -d focused --names | grep "$ws3" )
    f4=$(bspc query -D -d focused --names | grep "$ws4" )
    f5=$(bspc query -D -d focused --names | grep "$ws5" )
    f6=$(bspc query -D -d focused --names | grep "$ws6" )

    ic_1=""
    ic_2=""
    ic_3=""
    ic_4=""
    ic_5=""
    ic_6=""
    if [ $f1 ]; then
        ic_1=""
    elif [ $f2 ]; then
        ic_2=""
    elif [ $f3 ]; then
        ic_3=""
    elif [ $f4 ]; then
        ic_4=""
    elif [ $f5 ]; then
        ic_5=""
    elif [ $f6 ]; then
        ic_6=""
    fi

    echo  "(eventbox :cursor 'pointer' (box :class 'works' :orientation 'h' :spacing 5 :space-evenly 'false' (button :onclick 'bspc desktop -f $ws1' :class '$un$o1$f1' '$ic_1') (button :onclick 'bspc desktop -f $ws2' :class '$un$o2$f2'  '$ic_2') (button :onclick 'bspc desktop -f $ws3' :class '$un$o3$f3' '$ic_3') (button :onclick 'bspc desktop -f $ws4' :class '$un$o4$f4' '$ic_4') (button :onclick 'bspc desktop -f $ws5' :class '$un$o5$f5' '$ic_5')  (button :onclick 'bspc desktop -f $ws6' :class '$un$o6$f6' '$ic_6')))"
}

workspaces
bspc subscribe desktop_focus node_add node_remove 2> /dev/null | while read line; do
    workspaces
done
